# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Cobalt Core Template

game: Cobalt Core
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.

Cobalt Core:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ######################
  # Initial Parameters #
  ######################
  starting_ship:
    # Determines which ship you will start the game with.
    artemis: 50
    ares: 0
    jupiter: 0
    gemini: 0
    tiderunner: 0

  starting_characters_amount:
    # Determines how many characters you will start the game with.
    # 
    # If you want to start with less than 3 characters:
    # You need to install the mod "Custom Run Options" and set cro_is_installed to true.
    # 
    # It's set to 3 by default to mimic the vanilla game. However, because of this, many items will be available
    # from the start (big sphere 0). If this is an issue for you, lower this number.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 8
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-8: 0 # random value between 1 and 8

  cro_is_installed:
    # Only set this on if you have installed the mod "Custom Run Options" (can be found on NexusMods).
    # This will allow you to set starting_characters_amount below 3.
    'false': 50
    'true': 0

  starting_characters:
    # Determine which characters you will start the game with.
    # If there are less than the amount specified in starting_characters_amount, more will be added at random.
    # Valid names: Dizzy, Riggs, Peri, Isaac, Drake, Max, Books, CAT
    []

  shuffle_ship_parts:
    # Whether to shuffle the parts of every ship from the start.
    # off: The ship parts are not shuffled.
    # at_start: The ship parts are shuffled at the start and stay in that order between runs.
    # every_run: The ship parts are shuffled in a new order every run.
    'off': 0
    at_start: 50
    every_run: 0

  randomize_starting_cards:
    # Whether to randomize which cards each character starts a run with.
    # off: The starting cards are not randomized.
    # at_start: The starting cards are randomized and stay the same between runs.
    # every_run: The starting cards are randomized every run, from the pool of unlocked cards.
    'off': 0
    at_start: 50
    every_run: 0

  #########################
  # Difficulty Management #
  #########################
  difficulty_logic:
    # How the generator determines how far you can get with a given character.
    # count_all: Counts all the character's cards and artifacts (including basic ones).
    #            This is the safest option, but makes all cards and artifacts progression items.
    # count_rare: Only counts rare cards and boss artifacts (including basic ones).
    #             This makes rare cards and boss artifacts progression items.
    # dont_count: A character is considered completable as soon as it's unlocked.
    #             You might be forced to do some very difficult runs!
    count_all: 0
    count_rare: 50
    dont_count: 0

  check_card_difficulty:
    # If shuffle_cards is set to true, determines the base cost of cards that send items in the multiworld.
    # This also determines the strength of the A and B upgrades, which cost up to 2 less and 1 less respectively.
    # A value of -1 means that the card costs 0 and lets you draw 1, making it effectively free.
    # Do note that getting these cards is easy and has little impact on your deck since they self-destruct.
    # That is why the cost is set to 2 by default.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -1
    # Maximum value is 4
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range--1-4: 0 # random value between -1 and 4

  ########
  # Goal #
  ########
  win_condition:
    # What the goal is for this player.
    # total_memories: The player will have to accumulate a certain amount of memories across all characters.
    # memory_per_character: The player will have to accumulate a certain amount of memories for every character.
    total_memories: 0
    memory_per_character: 50

  memories_required_total:
    # If win_condition is set to total_memories, how many memories are needed across all characters to complete the goal.
    # Note: also pay attention to additional_character_memories which count towards this.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 24
    8: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-24: 0 # random value between 1 and 24

  memories_required_per_character:
    # If win_condition is set to memory_per_character, how many memories are needed per character to complete the goal.
    # Note: if additional_character_memories is true, Books and CAT will be included.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 3
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-3: 0 # random value between 1 and 3

  additional_character_memories:
    # Whether the game should add dummy memories for Books and CAT that will count towards the goal.
    'false': 0
    'true': 50

  shuffle_memories:
    # Whether character memories will be shuffled into the multiworld.
    # This adds 18 checks, or 24 if add_character_memories is set to true.
    'false': 50
    'true': 0

  unlock_memory_for_all_characters:
    # If this option is set, when you complete a run, you will be able to unlock one memory for all of your
    # selected characters at once. This is recommended for synced runs.
    'false': 0
    'true': 50

  do_future_memory:
    # Whether the player will have to do the Future Memory sequence to complete the game once they have fulfilled
    # their win condition. Otherwise, the game will immediately be completed.
    'false': 0
    'true': 50

  ##############
  # Item Pools #
  ##############
  shuffle_cards:
    # Whether card unlocks will be shuffled into the multiworld. This adds about 160 checks.
    'false': 0
    'true': 50

  shuffle_artifacts:
    # How Artifact unlocks will be shuffled into the multiworld. This adds about 80 checks.
    # off: Artifacts will not be shuffled into the multiworld.
    # simple: Archipelago artifacts will give one archipelago item.
    # double: Most Archipelago artifacts will give two items (there will be about half as many to find)
    #         This is the default because there are relatively few artifact offerings compared to the amount of checks.
    'off': 0
    simple: 0
    double: 50

  modifiers_mode:
    # How daily modifiers will apply to your game.
    # off: There will be no daily modifiers in your game.
    # immediate: Modifiers will be items in the pool. When found, the modifier is applied until the end of the run.
    #            (some modifiers are excluded)
    # unlockable: Modifiers will be items in the pool. Once found, new runs can randomly have this modifier.
    # immediate_and_unlockable: Combines both effects.
    # all_at_start: All modifiers can randomly apply to your new runs from the start.
    'off': 0
    immediate: 50
    unlockable: 0
    immediate_and_unlockable: 0
    all_at_start: 0

  modifiers_blacklist:
    # Modifiers in this list will never be applied to your runs, neither randomly nor immediately.
    []

  #####################
  # Immediate Rewards #
  #####################
  immediate_card_rewards:
    # Determines under which conditions the game will immediately add a card to your current deck
    # when it is found in the multiworld (provided you have started a run).
    # never: Do not automatically add found cards to our deck.
    # if_has_deck: Only add the card if you have the corresponding character.
    # if_local: Only add the card if you found it yourself.
    # if_local_and_has_deck: Only add the card if you found it yourself, and you have the corresponding character.
    # always: Always automatically add the card
    never: 0
    if_has_deck: 0
    if_local: 0
    if_local_and_has_deck: 0
    always: 50

  immediate_card_attributes:
    # If immediate_card_rewards is not set to "never", determines which additional attributes cards received this way
    # will have. You can choose multiple attributes.
    # Note that if you choose neither "Temporary" nor "Single Use", these cards will stay in your deck unless removed
    # by some other means.
    # Also note that infinite cards such as Dice Roll will not disappear even if they're Single Use.
    # (you may want to take a look at immediate_rewards_blacklist)
    # Valid attributes: Temporary, Single Use, Exhaust, Discount, Recycle, Retain
    ['Single Use']

  immediate_artifact_rewards:
    # Determines under which conditions the game will immediately add an artifact to your current run
    # when it is found in the multiworld (provided you have started a run).
    # Remember that some artifacts are not strictly positive! (you may want to take a look at immediate_rewards_blacklist)
    # never: Do not automatically add found artifacts.
    # if_has_deck: Only add the artifact if you have the corresponding character.
    # if_local: Only add the artifact if you found it yourself.
    # if_local_and_has_deck: Only add the artifact if you found it yourself, and you have the corresponding character.
    # always: Always automatically add the artifact
    never: 0
    if_has_deck: 0
    if_local: 0
    if_local_and_has_deck: 0
    always: 50

  immediate_rewards_blacklist:
    # For immediate_card_rewards, immediate_artifact_rewards and modifiers_mode,
    # the items in this list will never be given immediately.
    # You can also use item name groups.
    []

  ########################
  # Miscellaneous Tweaks #
  ########################
  rewards_tweak:
    # Makes unlocked cards and artifacts appear more often in offerings.
    # Otherwise, It might be very hard to get them at the beginning.
    # none: Do not tweak card and artifact rewards.
    # more_unlocked: Get unlocked cards and artifacts a bit more often.
    # all_unlocked: All cards and artifacts found in rewards are unlocked.
    none: 0
    more_unlocked: 50
    all_unlocked: 0

  auto_release_characters:
    # When you complete a character by finishing a run with them a certain amount of times,
    # release all items associated with that character instantly, so you don't need to play them anymore.
    # The value corresponds to the amount of memory unlocks that you need to do for that to happen.
    # A value of 0 deactivates this option.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  swap_character_node:
    # Adds a node to every map that allows you to swap one of your characters with any unlocked character.
    # This makes it easier to get specific items you want without commiting an entire run to it.
    # Particularly useful if you're starting with less than three characters.
    'false': 0
    'true': 50

  fillers_can_be_traps:
    # With this setting, filler items can be traps.
    # At the moment, filler items only happen in very specific scenarios (mostly, if you use start_inventory_from_pool)
    'false': 0
    'true': 50

  pick_missed_items_from_every_run:
    # In this mod, there is an option at Cleo's shop to get any AP item that you missed when picking rewards.
    # If this option is off, you can only pick from AP items that you missed this run.
    # If it's on, you can pick from all the AP items that you've missed throughout the game.
    'false': 0
    'true': 50

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
